import App from './App'
import uView from '@/uni_modules/uview-ui'
import { baseURL } from '@/config/env.js'
import ajax from '@/common/ajax.js'
Vue.use(uView)
Vue.prototype.$baseURL = baseURL;
Vue.prototype.$version = 'v1.0.11'; // 版本号

// 在 Vue 2 项目中， 使用 Vue 3 项目 API Promise 化 返回格式
function promiseResult() {
	function isPromise (obj) {
	  return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function'
	}
	uni.addInterceptor({
	  returnValue (res) {
	    if (!isPromise(res)) {
	      return res
	    }
	    return new Promise((resolve, reject) => {
	      res.then(res => {
	        if (res[0]) {
	          reject(res[0])
	        } else {
	          resolve(res[1])
	        }
	      })
	    })
	  }
	})
}

// #ifndef VUE3
import Vue from 'vue'
import store from './store'
Vue.prototype.$store = store
Vue.prototype.$ajax = ajax
Vue.config.productionTip = false
App.mpType = 'app'
promiseResult();
const app = new Vue({
	store,
    ...App
})
app.$mount()
// #endif

// #ifdef VUE3
import { createSSRApp } from 'vue'
export function createApp() {
  const app = createSSRApp(App)
  return {
    app
  }
}
// #endif